热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

收藏|目标检测的模型集成与实验

点上方蓝字计算机视觉联盟获取更多干货在右上方设为星标★,与你不见不散仅作学术分享,不代表本公众号立场,侵权联系删除转载于:作

点上方蓝字计算机视觉联盟获取更多干货

在右上方 ··· 设为星标 ★,与你不见不散

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:作者:Vikas S Shetty  |  编译:ronghuaiyang  | AI公园

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

导读

模型集成是一种提升模型能力的常用方法,但也会带来推理时间的增加,在物体检测上效果如何,可以看看。

介绍

集成机器学习模型是一种常见的提升模型能力的方式,并已在多个场景中使用,因为它们结合了多个模型的决策,以提高整体性能,但当涉及到基于DNN(深度神经网络)的目标检测模型时,它并不仅仅是合并结果那么简单。

集成的需求

为了在任何模型中获得良好的结果,都需要满足某些标准(数据、超参数)。但在真实场景中,你可能会得到糟糕的训练数据,或者很难找到合适的超参数。在这些情况下,综合多个性能较差的模型可以帮助你获得所需的结果。在某种意义上,集成学习可以被认为是一种通过执行大量额外计算来弥补学习算法不足的方法。另一方面,另一种选择是在一个非集成系统上做更多的学习。对于计算、存储或通信资源的相同增加,集成系统使用两种或两种以上的方法可能会比使用单一方法增加资源的方法更有效地提高整体精度。

看起来挺好,有没有缺点呢?

  • 更难调试或理解预测,因为预测框是根据多个模型绘制的。

  • 推理时间根据模型和使用的模型数量而增加。

  • 尝试不同的模型以获得合适的模型集合是一件耗时的事情。

不同的模型集成

  1. OR方法:如果一个框是由至少一个模型生成的,就会考虑它。

  2. AND方法:如果所有模型产生相同的框,则认为是一个框(如果IOU >0.5)。

  3. 一致性方法:如果大多数模型产生相同的框,则认为是一个框,即如果有m个模型,(m/2 +1)个模型产生相同的框,则认为这个框有效。

  4. 加权融合:这是一种替代NMS的新方法,并指出了其不足之处。

不同的集成方法

在上面的例子中,OR方法的预测得到了所有需要的对象框,但也得到了一个假阳性结果,一致性的方法漏掉了马,AND方法同时漏掉了马和狗。

验证

为了计算不同的集成方法,我们将跟踪以下参数:

  1. True positive:预测框与gt匹配

  2. False Positives:预测框是错误的

  3. False Negatives:没有预测,但是存在gt。

  4. Precision:度量你的预测有多准确。也就是说,你的预测正确的百分比[TP/ (TP + FP)]

  5. Recall:度量gt被预测的百分比[TP/ (TP + FN)]

  6. Average Precision:precision-recall图的曲线下面积

使用的模型

为了理解集成是如何起作用的,我们提供了用于实验的独立模型的结果。

1. YoloV3:

2. Faster R-CNN — ResNeXt 101 [X101-FPN]:

集成实验

1. OR — [YoloV3, X101-FPN]

如果你仔细观察,FPs的数量增加了,这反过来降低了精度。与此同时,TPs数量的增加反过来又增加了召回。这是使用OR方法时可以观察到的一般趋势。

2. AND — [YoloV3, X101-FPN]

与我们使用OR方法观察到的情况相反,在AND方法中,我们最终获得了较高的精度和较低的召回率,因为几乎所有的假阳性都被删除了,因为YoloV3和X101的大多数FPs是不同的。

检测框加权融合

在NMS方法中,如果框的IoU大于某个阈值,则认为框属于单个物体。因此,框的过滤过程取决于这个单一IoU阈值的选择,这影响了模型的性能。然而,设置这个阈值很棘手:如果有多个物体并排存在,那么其中一个就会被删除。NMS丢弃了冗余框,因此不能有效地从不同的模型中产生平均的局部预测。

NMS和WBF之间的主要区别是,WBF利用所有的框,而不是丢弃它们。在上面的例子中,红框是ground truth,蓝框是多个模型做出的预测。请注意,NMS是如何删除冗余框的,但WBF通过考虑所有预测框创建了一个全新的框(融合框)。

3. Weighted Boxes Fusion — [Yolov3, X101-FPN]

YoloV3和X101-FPN的权重比分别为2:1。我们也试着增加有利于X101-FPN的比重(因为它的性能更好),但在性能上没有看到任何显著的差异。从我们读过的加权融合论文中,作者注意到了AP的增加,但如你所见,WBF YoloV3和X101-FPN并不比OR方法好很多。我们注意到的是,大部分的实验涉及至少3个或更多模型。

4. Weighted Boxes Fusion — [Yolov3, X101, R101, R50]

在最后的实验中,我们使用了YoloV3以及我们在Detectron2中训练的3个模型[ResNeXt101-FPN, ResNet101-FPN, ResNet50-FPN]。显然,召回率有一个跳跃(约为传统方法的0.3),但AP的跳跃并不大。另外,需要注意的是,当你向WF方法添加更多模型时,误报的数量会激增。

总结

当使用相互补充的模型时,集成是提高性能的一种很好的方法,但它也会以速度为代价来完成推理。根据需求,可以决定有多少个模型,采用哪种方法,等等。但从我们进行的实验来看,性能提升的数量似乎与一起运行这些模型所需的资源和推断时间不成比例。

英文原文:https://medium.com/inspiredbrilliance/object-detection-through-ensemble-of-models-fed015bc1ee0

end

我是王博Kings,一名985AI博士,在Github上开源了机器学习、深度学习等一系列手推笔记,获得了不少同学的支持。

这是我的私人微信,还有少量坑位,可与相关学者研究人员交流学习 

目前开设有人工智能、机器学习、计算机视觉、自动驾驶(含SLAM)、Python、求职面经、综合交流群扫描添加CV联盟微信拉你进群,备注:CV联盟

王博Kings 的公众号,欢迎关注,干货多多

王博Kings的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)

博士笔记 | 周志华《机器学习》手推笔记第九章聚类

博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习

博士笔记 | 周志华《机器学习》手推笔记第十一章特征选择与稀疏学习

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(上)

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论(下)

博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习

博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型

点个在看支持一下吧



推荐阅读
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • navicat生成er图_实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
    摘要:目前复杂问题包括两种:含约束的问题和多跳关系问题。本文对ACL2020KBQA基于查询图生成的方法来回答多跳复杂问题这一论文工作进行了解读 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • Two Sigma人均22万英镑~
    近期原创文章: ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
author-avatar
伸手以后
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有